home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / MotifApp / ch2 / Stopwatch2 / Timer.h < prev   
Encoding:
C/C++ Source or Header  |  1995-05-03  |  1.8 KB  |  55 lines

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //////////////////////////////////////////////////////////////////////////////
  3. //         This example code is from the book:
  4. //
  5. //           Object-Oriented Programming with C++ and OSF/Motif
  6. //         by
  7. //           Douglas Young
  8. //           Prentice Hall, 1992
  9. //           ISBN 0-13-630252-1    
  10. //
  11. //         Copyright 1991 by Prentice Hall
  12. //         All Rights Reserved
  13. //
  14. //  Permission to use, copy, modify, and distribute this software for 
  15. //  any purpose except publication and without fee is hereby granted, provided 
  16. //  that the above copyright notice appear in all copies of the software.
  17. ///////////////////////////////////////////////////////////////////////////////
  18. //////////////////////////////////////////////////////////////////////////////
  19.  
  20.  
  21. //////////////////////////////////////////////////
  22. // Timer.h: Provide clock for the stopwatch
  23. ///////////////////////////////////////////////////
  24. #ifndef TIMER_H
  25. #define TIMER_H
  26. #include <Xm/Xm.h>
  27.  
  28. class Face;  // Timer objects send messages a Face object
  29.  
  30. class Timer {
  31.     
  32.   private:
  33.     
  34.     // Static member function used for TimeOut callback
  35.     
  36.     static void tickCallback ( XtPointer, XtIntervalId* );
  37.     
  38.     void tick();  // Called every _interval milliseconds
  39.     
  40.     Face *_face;       // The Face object updated with each tick
  41.     int   _counter;    // Current number of ticks
  42.     int   _interval;   // Time in milliseconds between updates
  43.     XtIntervalId _id;  // Identifier of current TimeOut
  44.     XtAppContext _app; // Required by Xt functions
  45.     
  46.   public:
  47.     
  48.     Timer ( XtAppContext, Face *, int );
  49.     
  50.     void start();        // Resets, and starts the clock ticking
  51.     void stop();         // Stops the clock
  52.     float elapsedTime(); // Returns time since timer started
  53. };
  54. #endif
  55.